Many computer systems rely upon user interface devices to receive commands and data inputs from users. A few types of user interface devices have become standard, including the keyboard, computer mouse, touchpads, touchscreen displays, and trackballs. Such conventional user interface devices are specialized for particular types of input tasks, such as entering text or type commands (e.g., a keypad or keyboard) and navigating within a graphical user interface (e.g., a computer mouse or trackball). Users typically have to switch between two input devices in the course of daily tasks, such as between a keyboard and a mouse
Touchscreen displays have become popular for some computing devices since they enable navigation and data input (e.g., via a virtual keyboard). However, touchscreen user interfaces do not provide raised keys, and therefore are ergonomically and haptically less satisfying than a physical keyboard for text entry. Onscreen keyboards are not as easy to use and do not provide the tactile feedback of hard keys.